package com.view;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@ManagedBean
@ViewScoped
@SuppressWarnings("serial")
public class FamiliaView extends BaseView implements Serializable {

	@NotNull(message = "Valor requerido")
	@Size(min = 1, max = 45, message = "La descripcion de la familia debe tener entre 1 y 45 caracteres.")
	private String descripcion;

	private FamiliaView padre;

	public FamiliaView(Long id, String descripcion, FamiliaView padre) {
		this.id = id;
		this.descripcion = descripcion;
		this.padre = padre;
	}

	public FamiliaView() {
		this(null, null, new FamiliaView(null, null, null));
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public FamiliaView getPadre() {
		return padre;
	}

	public void setPadre(FamiliaView padre) {
		this.padre = padre;
	}

	@Override
	public boolean equals(Object obj) {
		FamiliaView fv = (FamiliaView) obj;

		return this.id == fv.getId();
	}

}
